/**
 * 仿写JSON内置API的parse方法
 * @param {String} javaData 
 * @returns webObj
 */

function parse(javaData)
{
    let webObj = {}
    // 1 过滤字符串（注：去掉{、}、"、空格）
    javaData = javaData.replace(/{|}|"|\s/g, '')
    // 2分割转数组       
    let javaDataArr = javaData.split(',')
    // 3 遍历数组
    javaDataArr.forEach(item => {
        // 1.1 分割转数组     
        let temp = item.split(':')
        // 1.2 数组的第一个值就是键，数组的第二个值就是值
        let key = temp[0]
        let val = temp[1] 
        // 1.3 将数据放到空对象中
        webObj[key] = val
    })
    return webObj
}


/**
 *仿写JSON内置API的stringify方法
 * @param {Object} webObj 
 * @returns  String
 */

function stringify(webObj)
{
    // let webObj = {a:1,b:true,c:"你好"}
    let arr = []
    // 1 遍历对象
    for (let key in webObj)
    {
        // 2 遍历外面-定义空数组arr
        // 3 遍历里面-将 键拼接:拼接值 push到数组中

        let val = webObj[key]
        // 4 判断对象里面的值是不是  布尔和数字  是就不加引号
        if (!["boolean","number"].includes(typeof val)){
            
           val = `"${webObj[key]}"`
        }
        arr.push(`"${key}":${val}`)
        }
    return `{${arr.join(',')}}`
}
